home *** CD-ROM | disk | FTP | other *** search
- Path: yama.mcc.ac.uk!dmu!usenet
- From: Graham Perkins <grp@dmu.ac.uk>
- Newsgroups: comp.lang.c++,comp.lang.eiffel,comp.lang.c,comp.object,comp.software-eng
- Subject: Re: Portability of code & skills (Beware of "C" Hackers etc)
- Date: Thu, 21 Mar 1996 16:06:07 +0000
- Organization: De Montfort University
- Message-ID: <31517E6F.5930@dmu.ac.uk>
- References: <31494D29.4D4B@dmu.ac.uk> <DoG3HE.48E@assip.csasyd.oz>
- NNTP-Posting-Host: mkcsst22.mk.dmu.ac.uk
- Mime-Version: 1.0
- Content-Type: text/plain; charset=us-ascii
- Content-Transfer-Encoding: 7bit
- X-Mailer: Mozilla 2.0 (Win16; I)
-
- Don Harrison wrote:
- > :adoption of C and Unix.
- >
- > Aside from the historical argument, could another reason be that people
- > love power and permissive languages such as C give such power?
-
- Permissive, yes. Power? I don't think so. Perhaps too many people
- confuse the two. For example, local functions give a certain power,
- expecially if you can pass them as parameter as in Pascal. This power
- is unavailable in C. Simple manipulation of structured objects is
- quite awkward, and has been severely limited and error prone for most
- of the lifetime of the C language. Cobol's pattern matched input and
- pattern editing output is extremely powerful, but C does not even check
- you pass the same number of print items as you specify, never mind give
- you the power to control currency sign, leading zero suppression, decimal
- format, credit/debit formats... And what about that file handling?
- Read an arbitrary number of bytes into an un-typed buffer .. that's power?
-
- No curried functions, function constructors, lazy evaluation, or generic
- data and function types. No assertions, exceptions, concurrency, or
- parallelism. No built in string, vector, matrix, or complex operations.
- No garbage collection. No embedded SQL. No opaque types or language
- construct for naming a group of related operations. Think of any powerful
- construct you like from any language and you will find it NOT in C (or
- at least not during the period C was catching on).
-
- > :..universal assembler ..does not seem to have happened, and I don't understand
- > :why.
- >
- > Someone else already pointed out that Eiffel uses it as such.
-
- Well it hasn't really happened in the way I meant. Those who demand their
- systems in C are resistant to Eiffel because they perceive it as a language
- that is not C, in spite of the C back-end. Same for lots of other compiled
- systems. But TeleUSE users see the system as a GUI toolkit for C programming,
- in spite of the fact that most programming is done via direct manipulation
- or their "D" event-action language. The only C is in the application interface,
- but of course that stuff could be written in any language so long as you
- could come up with a C header file to enable linking.
-
- It seems to be a matter of flavour. If the Eiffel browsers worked almost
- entirely visually (eg, class tool contains rename table, redefinitions
- colour coded, export control by dropping classes into or pulling out of
- a viewpoint icon) then much of the syntax could disappear or be hidden.
- Then people would be more inclined to view it as an OO development system
- for C rather than as a different language.
- --
- person: Graham Perkins paper: School of Computing
- voice: +44 (0)1908 834936 De Montfort University
- dots: +44 (0)1908 834948 Milton Keynes MK7 6HP
- bits: grp@dmu.ac.uk United Kingdom
-